using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TestImport.View
{
    public partial class TurboLeerlingTransactieViaBoek : Form
    {
        private DataGridViewCellStyle dataGridViewCellStyle = new DataGridViewCellStyle();
        private string vGroepCode = "";
        private int vLeerlingID = 0;
        private int vBoekID = 0;
        private int vBoekID2 = 0;
        private int STARTKOLOM;
        private DataTable dtBoeken = null;
        private DataTable dtLeerlingen = null;
        private DataTable dtLeerlingBoek = null;
        private string[] titels ;
        private string soort;
        private int geselecteerdBoek = 0;
        private int geselecteerdLeerling = 0;
        

        public TurboLeerlingTransactieViaBoek()
        {
            InitializeComponent();
            this.soort = "BESTELLING";
           
        }

        public TurboLeerlingTransactieViaBoek(string soort)
        {
            InitializeComponent();
            this.soort = soort;
        }

        private void TurboLeerlingTransactieViaBoek_Load(object sender, EventArgs e)
        {
            BackColor = InstParameters.Default.schermkleur;
            this.groepTableAdapter.Fill(this.onsBoekenPakketDataSet.Groep);
            STARTKOLOM = dgv1.Index;
            if (soort.Equals("BESTELLING")) cmbSoort.SelectedIndex = 0;
            if (soort.Equals("AFHALING")) cmbSoort.SelectedIndex = 1;
            if (soort.Equals("RETOUR")) cmbSoort.SelectedIndex = 2;
            btnAllesAanLeerling.Enabled = false;
            btnAllesUitLeerling.Enabled = false;
            btnAllesAanBoek.Enabled = false;
            btnAllesUitBoek.Enabled = false;
            try
            {
                cmbGroep.SelectedIndex = 0; initMatrix();
            }
            catch (Exception) { }
        }    
            
            
        private void initMatrix()
        {
            try
            {
                //vul boeken
                vGroepCode = cmbGroep.SelectedValue.ToString();
                btnRegistreer.Text = "Registreer " + soort + " voor " + vGroepCode;
                this.turboLeerlingBoekViaBoekTableAdapter.FillByGroepCode(this.onsBoekenPakketDataSet.TurboLeerlingBoekViaBoek,vGroepCode);
                dtBoeken = turboLeerlingBoekViaBoekTableAdapter.GetDataByGroepCode(vGroepCode);
                //vul leerlingen
                dtLeerlingen = leerlingTableAdapter.GetDataByGroepCodeGesorteerd(vGroepCode);
                titels = new string[dtLeerlingen.Rows.Count];
                for (int i = 0; i < titels.Length; i++)
                {
                    titels[i] = dtLeerlingen.Rows[i]["naam"].ToString();
                    if (titels[i].Length > 22) titels[i] = titels[i].Substring(0, 22);
                }
                try { dgv1.Visible = true; dgv1.HeaderText = MijnLib.Verticaal(titels[0]).ToUpper(); }
                catch (Exception) { dgv1.Visible = false; }
                try { dgv2.Visible = true; dgv2.HeaderText = MijnLib.Verticaal(titels[1]).ToUpper(); }
                catch (Exception) { dgv2.Visible = false; }
                try { dgv3.Visible = true; dgv3.HeaderText = MijnLib.Verticaal(titels[2]).ToUpper(); }
                catch (Exception) { dgv3.Visible = false; }
                try { dgv4.Visible = true; dgv4.HeaderText = MijnLib.Verticaal(titels[3]).ToUpper(); }
                catch (Exception) { dgv4.Visible = false; }
                try { dgv5.Visible = true; dgv5.HeaderText = MijnLib.Verticaal(titels[4]).ToUpper(); }
                catch (Exception) { dgv5.Visible = false; }
                try { dgv6.Visible = true; dgv6.HeaderText = MijnLib.Verticaal(titels[5]).ToUpper(); }
                catch (Exception) { dgv6.Visible = false; }
                try { dgv7.Visible = true; dgv7.HeaderText = MijnLib.Verticaal(titels[6]).ToUpper(); }
                catch (Exception) { dgv7.Visible = false; }
                try { dgv8.Visible = true; dgv8.HeaderText = MijnLib.Verticaal(titels[7]).ToUpper(); }
                catch (Exception) { dgv8.Visible = false; }
                try { dgv9.Visible = true; dgv9.HeaderText = MijnLib.Verticaal(titels[8]).ToUpper(); }
                catch (Exception) { dgv9.Visible = false; }
                try { dgv10.Visible = true; dgv10.HeaderText = MijnLib.Verticaal(titels[9]).ToUpper(); }
                catch (Exception) { dgv10.Visible = false; }
                try { dgv11.Visible = true; dgv11.HeaderText = MijnLib.Verticaal(titels[10]).ToUpper(); }
                catch (Exception) { dgv11.Visible = false; }
                try { dgv12.Visible = true; dgv12.HeaderText = MijnLib.Verticaal(titels[11]).ToUpper(); }
                catch (Exception) { dgv12.Visible = false; }
                try { dgv13.Visible = true; dgv13.HeaderText = MijnLib.Verticaal(titels[12]).ToUpper(); }
                catch (Exception) { dgv13.Visible = false; }
                try { dgv14.Visible = true; dgv14.HeaderText = MijnLib.Verticaal(titels[13]).ToUpper(); }
                catch (Exception) { dgv14.Visible = false; }
                try { dgv15.Visible = true; dgv15.HeaderText = MijnLib.Verticaal(titels[14]).ToUpper(); }
                catch (Exception) { dgv15.Visible = false; }
                try { dgv16.Visible = true; dgv16.HeaderText = MijnLib.Verticaal(titels[15]).ToUpper(); }
                catch (Exception) { dgv16.Visible = false; }
                try { dgv17.Visible = true; dgv17.HeaderText = MijnLib.Verticaal(titels[16]).ToUpper(); }
                catch (Exception) { dgv17.Visible = false; }
                try { dgv18.Visible = true; dgv18.HeaderText = MijnLib.Verticaal(titels[17]).ToUpper(); }
                catch (Exception) { dgv18.Visible = false; }
                try { dgv19.Visible = true; dgv19.HeaderText = MijnLib.Verticaal(titels[18]).ToUpper(); }
                catch (Exception) { dgv19.Visible = false; }
                try { dgv20.Visible = true; dgv20.HeaderText = MijnLib.Verticaal(titels[19]).ToUpper(); }
                catch (Exception) { dgv20.Visible = false; }
                try { dgv21.Visible = true; dgv21.HeaderText = MijnLib.Verticaal(titels[20]).ToUpper(); }
                catch (Exception) { dgv21.Visible = false; }
                try { dgv22.Visible = true; dgv22.HeaderText = MijnLib.Verticaal(titels[21]).ToUpper(); }
                catch (Exception) { dgv22.Visible = false; }
                try { dgv23.Visible = true; dgv23.HeaderText = MijnLib.Verticaal(titels[22]).ToUpper(); }
                catch (Exception) { dgv23.Visible = false; }
                try { dgv24.Visible = true; dgv24.HeaderText = MijnLib.Verticaal(titels[23]).ToUpper(); }
                catch (Exception) { dgv24.Visible = false; }
                try { dgv25.Visible = true; dgv25.HeaderText = MijnLib.Verticaal(titels[24]).ToUpper(); }
                catch (Exception) { dgv25.Visible = false; }
                try { dgv26.Visible = true; dgv26.HeaderText = MijnLib.Verticaal(titels[25]).ToUpper(); }
                catch (Exception) { dgv26.Visible = false; }
                try { dgv27.Visible = true; dgv27.HeaderText = MijnLib.Verticaal(titels[26]).ToUpper(); }
                catch (Exception) { dgv27.Visible = false; }
                try { dgv28.Visible = true; dgv28.HeaderText = MijnLib.Verticaal(titels[27]).ToUpper(); }
                catch (Exception) { dgv28.Visible = false; }
                try { dgv29.Visible = true; dgv29.HeaderText = MijnLib.Verticaal(titels[28]).ToUpper(); }
                catch (Exception) { dgv29.Visible = false; }
                try { dgv30.Visible = true; dgv30.HeaderText = MijnLib.Verticaal(titels[29]).ToUpper(); }
                catch (Exception) { dgv30.Visible = false; }
                //vul cellen
                dtLeerlingBoek = null;
                bool boekGevonden = false;
                for (int i = 0; i < dtLeerlingen.Rows.Count; i++)
                {
                    vLeerlingID = int.Parse(dtLeerlingen.Rows[i]["leerlingID"].ToString());
                    dtLeerlingBoek = leerlingBoekTableAdapter.GetDataByLeerlingID(vLeerlingID);
                    for (int j = 0; j < dtBoeken.Rows.Count; j++)
                    {
                        vBoekID = int.Parse(dtBoeken.Rows[j]["boekID"].ToString());
                        boekGevonden = false;
                        for (int z = 0; z < dtLeerlingBoek.Rows.Count; z++)
                        {
                            vBoekID2 = int.Parse(dtLeerlingBoek.Rows[z]["boekID"].ToString());
                            if (vBoekID == vBoekID2)
                            {
                                boekGevonden = true;
                                if (soort.Equals("BESTELLING"))
                                {
                                    if (dtLeerlingBoek.Rows[z]["datumBestelling"].ToString().Equals(DBNull.Value.ToString()))
                                        turboLeerlingBoekDataGridView.Rows[j].Cells[STARTKOLOM + i].Value = false;
                                    else
                                        turboLeerlingBoekDataGridView.Rows[j].Cells[STARTKOLOM + i].Value = true;
                                    if (int.Parse(dtLeerlingBoek.Rows[z]["status"].ToString()) > 0)
                                    {
                                        // cel op non actief
                                        zetCelOpNonActief(j,STARTKOLOM + i);
                                    }
                                }
                                if (soort.Equals("AFHALING"))
                                {
                                    if (dtLeerlingBoek.Rows[z]["datumAfhaling"].ToString().Equals(DBNull.Value.ToString()))
                                        turboLeerlingBoekDataGridView.Rows[j].Cells[STARTKOLOM + i].Value = false;
                                    else
                                        turboLeerlingBoekDataGridView.Rows[j].Cells[STARTKOLOM + i].Value = true;
                                    if (int.Parse(dtLeerlingBoek.Rows[z]["status"].ToString()) ==  2)
                                    {
                                        // cel op non actief
                                        zetCelOpNonActief(j,STARTKOLOM + i);
                                    }
                                }
                                if (soort.Equals("RETOUR"))
                                {
                                    if (dtLeerlingBoek.Rows[z]["datumRetour"].ToString().Equals(DBNull.Value.ToString()))
                                        turboLeerlingBoekDataGridView.Rows[j].Cells[STARTKOLOM + i].Value = false;
                                    else
                                        turboLeerlingBoekDataGridView.Rows[j].Cells[STARTKOLOM + i].Value = true;
                                    if (int.Parse(dtLeerlingBoek.Rows[z]["status"].ToString()) == 3)
                                    {
                                        // cel op non actief
                                        zetCelOpNonActief(j,STARTKOLOM + i);
                                    }
                                }
                                break;
                            }
                        }
                        if (!boekGevonden)
                            turboLeerlingBoekDataGridView.Rows[j].Cells[STARTKOLOM + i].Value = false;
                     }
                }
                //berekenen totalen per leerling
                for (int j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                    berekenTotaalKolom(j);
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
        }

        private void zetCelOpNonActief(int rij, int kol)
        {
            turboLeerlingBoekDataGridView.Rows[rij].Cells[kol].ReadOnly = true;
            turboLeerlingBoekDataGridView.Rows[rij].Cells[kol].Style.BackColor = Color.Blue;
            turboLeerlingBoekDataGridView.Rows[rij].Cells[kol].Style.SelectionBackColor = Color.Blue;
        }

        private void cmbGroep_SelectedIndexChanged(object sender, EventArgs e)
        {
            initMatrix();
        }

        private void btnRegistreer_Click(object sender, EventArgs e)
        {
            bool isGeselecteerd = false;
            int vBoeklijstItemID = 0;
            for (int i = 0; i < dtBoeken.Rows.Count; i++)
            {
                for (int j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                {
                    if (turboLeerlingBoekDataGridView.Columns[j].Visible)
                    {
                        if (!turboLeerlingBoekDataGridView.Rows[i].Cells[j].ReadOnly)
                        {
                            isGeselecteerd = bool.Parse(turboLeerlingBoekDataGridView.Rows[i].Cells[j].Value.ToString());
                            vBoekID = int.Parse(dtBoeken.Rows[i]["boekID"].ToString());
                            vBoeklijstItemID = int.Parse(dtBoeken.Rows[i]["boeklijstItemID"].ToString());
                            vLeerlingID = int.Parse(dtLeerlingen.Rows[j-STARTKOLOM]["leerlingID"].ToString());
                            if (soort.Equals("BESTELLING"))
                                registreerBestelling(isGeselecteerd,vBoeklijstItemID);
                            if (soort.Equals("AFHALING"))
                                registreerAfhaling(isGeselecteerd, vBoeklijstItemID);
                            if (soort.Equals("RETOUR"))
                                registreerRetour(isGeselecteerd, vBoeklijstItemID);
                        }
                    }
                }
            }
            initMatrix();
        }

        private void registreerBestelling(bool isGeselecteerd, int vBoeklijstItemID)
        {
            bool wasGeselecteerd = false;
            int vLeerlingBoekID = 0;
            dtLeerlingBoek = leerlingBoekTableAdapter.GetDataByLeerlingIDEnBoekID(vLeerlingID, vBoekID);
            if (dtLeerlingBoek.Rows.Count == 0)
            {
                if (isGeselecteerd)
                {
                    //maak nieuwe leerlingboek met datum bestelling = today en status = 0
                    leerlingBoekTableAdapter.Insert(vBoekID, vLeerlingID, DateTime.Today, null, null, null, null, null, vBoeklijstItemID, 0);
                }
            }
            else
            {
                vLeerlingBoekID = int.Parse(dtLeerlingBoek.Rows[0]["leerlingBoekID"].ToString());
                wasGeselecteerd = !dtLeerlingBoek.Rows[0]["datumBestelling"].ToString().Equals(DBNull.Value.ToString());
                if (wasGeselecteerd)
                {
                    if (!isGeselecteerd)
                    {
                        //update leerlingboek datum bestelling = null
                        leerlingBoekTableAdapter.UpdateDatumBestelling(null, vLeerlingBoekID);
                    }
                }
                else
                {
                    if (isGeselecteerd)
                    {
                        //update leerlingboek datum bestelling = today status = 0
                        leerlingBoekTableAdapter.UpdateDatumBestelling(DateTime.Today, vLeerlingBoekID);
                    }
                }
            }//endif leerlingboek niet gevonden
        }

        private void registreerAfhaling(bool isGeselecteerd, int vBoeklijstItemID)
        {
            bool wasGeselecteerd = false;
            int vLeerlingBoekID = 0;
            dtLeerlingBoek = leerlingBoekTableAdapter.GetDataByLeerlingIDEnBoekID(vLeerlingID, vBoekID);
            if (dtLeerlingBoek.Rows.Count == 0)
            {
                if (isGeselecteerd)
                {
                    //maak nieuwe leerlingboek met datum afhaling = today en status = 2
                    leerlingBoekTableAdapter.Insert(vBoekID, vLeerlingID, null, DateTime.Today, null, null, null, null, vBoeklijstItemID, 2);
                }
            }
            else
            {
                vLeerlingBoekID = int.Parse(dtLeerlingBoek.Rows[0]["leerlingBoekID"].ToString());
                wasGeselecteerd = !dtLeerlingBoek.Rows[0]["datumAfhaling"].ToString().Equals(DBNull.Value.ToString());
                if (wasGeselecteerd)
                {
                    if (!isGeselecteerd)
                    {
                        //update leerlingboek datum ahaling = null
                        leerlingBoekTableAdapter.UpdateDatumAfhaling(null, vLeerlingBoekID);
                    }
                }
                else
                {
                    if (isGeselecteerd)
                    {
                        //update leerlingboek datum bestellingfhaling = today status = 0
                        leerlingBoekTableAdapter.UpdateDatumAfhaling(DateTime.Today, vLeerlingBoekID);
                    }
                }
            }//endif leerlingboek niet gevonden
        }

        private void registreerRetour(bool isGeselecteerd, int vBoeklijstItemID)
        {
            bool wasGeselecteerd = false;
            int vLeerlingBoekID = 0;
            dtLeerlingBoek = leerlingBoekTableAdapter.GetDataByLeerlingIDEnBoekID(vLeerlingID, vBoekID);
            if (dtLeerlingBoek.Rows.Count == 0)
            {
                if (isGeselecteerd)
                {
                    //maak nieuwe leerlingboek met datum retour = today en status = 3
                    leerlingBoekTableAdapter.Insert(vBoekID, vLeerlingID, null, null, DateTime.Today, null, null, null, vBoeklijstItemID, 3);
                }
            }
            else
            {
                vLeerlingBoekID = int.Parse(dtLeerlingBoek.Rows[0]["leerlingBoekID"].ToString());
                wasGeselecteerd = !dtLeerlingBoek.Rows[0]["datumRetour"].ToString().Equals(DBNull.Value.ToString());
                if (wasGeselecteerd)
                {
                    if (!isGeselecteerd)
                    {
                        //update leerlingboek datum retour = null
                        leerlingBoekTableAdapter.UpdateDatumRetour(null, vLeerlingBoekID);
                    }
                }
                else
                {
                    if (isGeselecteerd)
                    {
                        //update leerlingboek datum retour = today status = 0
                        leerlingBoekTableAdapter.UpdateDatumRetour(DateTime.Today, vLeerlingBoekID);
                    }
                }
            }//endif leerlingboek niet gevonden
        }

        private void cmbSoort_SelectedIndexChanged(object sender, EventArgs e)
        {
            soort = cmbSoort.SelectedItem.ToString();
            updateTitelEnKnopEnLabel();
            initMatrix();
        }

        private void updateTitelEnKnopEnLabel()
        {
            Text = "Turbo " + soort;
            btnRegistreer.Text = "Registreer " + soort + " voor " + vGroepCode;
            lblLegende.Text = "Blauwe vakjes kunnen niet worden veranderd" + Environment.NewLine;
            if (soort.Equals("BESTELLING")) lblLegende.Text+="Deze bestellingen zijn al verwerkt (afgehaald, geretourneerd)";
            if (soort.Equals("AFHALING")) lblLegende.Text += "Deze afhalingen zijn eerder reeds geregistreerd";
            if (soort.Equals("RETOUR")) lblLegende.Text += "Deze retours zijn eerder reeds geregistreerd";
        }

        

        private void btnAllesUitBoek_Click(object sender, EventArgs e)
        {
            for (int j = STARTKOLOM; j < STARTKOLOM + 30; j++)
            {
                if (turboLeerlingBoekDataGridView.Columns[j].Visible)
                {
                    if (!turboLeerlingBoekDataGridView.Rows[geselecteerdBoek].Cells[j].ReadOnly)
                    {
                        turboLeerlingBoekDataGridView.Rows[geselecteerdBoek].Cells[j].Value = false;
                    }
                }
            }
            for (int j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                berekenTotaalKolom(j);
        }

        private void btnAllesAanLeerling_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dtBoeken.Rows.Count; i++)
            {
                if (turboLeerlingBoekDataGridView.Columns[geselecteerdLeerling].Visible)
                {
                    if (!turboLeerlingBoekDataGridView.Rows[i].Cells[geselecteerdLeerling].ReadOnly)
                    {
                        turboLeerlingBoekDataGridView.Rows[i].Cells[geselecteerdLeerling].Value = true;
                    }
                }
            }
            berekenTotaalKolom(geselecteerdLeerling);
        }

        private void btnAllesAanBoek_Click(object sender, EventArgs e)
        {
            for (int j = STARTKOLOM; j < STARTKOLOM + 30; j++)
            {
               if (turboLeerlingBoekDataGridView.Columns[j].Visible)
               {
                    if (!turboLeerlingBoekDataGridView.Rows[geselecteerdBoek].Cells[j].ReadOnly)
                    {
                            turboLeerlingBoekDataGridView.Rows[geselecteerdBoek].Cells[j].Value = true;
                    }
               }
            }
            for (int j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                berekenTotaalKolom(j);
        }

        private void btnAllesUit_Click(object sender, EventArgs e)
        {
            int j = 0;
            for (int i = 0; i < dtBoeken.Rows.Count; i++)
            {
                for (j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                {
                    if (turboLeerlingBoekDataGridView.Columns[j].Visible)
                    {
                        if (!turboLeerlingBoekDataGridView.Rows[i].Cells[j].ReadOnly)
                        {
                            turboLeerlingBoekDataGridView.Rows[i].Cells[j].Value = false;
                        }
                    }
                }
            }
            for (j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                berekenTotaalKolom(j);
        }

        private void btnAllesUitLeerling_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dtBoeken.Rows.Count; i++)
            {
                if (turboLeerlingBoekDataGridView.Columns[geselecteerdLeerling].Visible)
                {
                    if (!turboLeerlingBoekDataGridView.Rows[i].Cells[geselecteerdLeerling].ReadOnly)
                    {
                        turboLeerlingBoekDataGridView.Rows[i].Cells[geselecteerdLeerling].Value = false;
                    }
                }
            }
            berekenTotaalKolom(geselecteerdLeerling);
        }

        private void btnAllesAan_Click(object sender, EventArgs e)
        {
            int j = 0;
            for (int i = 0; i < dtBoeken.Rows.Count; i++)
            {
                for (j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                {
                    if (turboLeerlingBoekDataGridView.Columns[j].Visible)
                    {
                        if (!turboLeerlingBoekDataGridView.Rows[i].Cells[j].ReadOnly)
                        {
                            turboLeerlingBoekDataGridView.Rows[i].Cells[j].Value = true;
                        }
                     }
                   
                }
            }
            for (j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                berekenTotaalKolom(j);
        }

      
        private void turboLeerlingBoekDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            turboLeerlingBoekDataGridView.EndEdit();
            berekenTotaalRij(e.RowIndex);
            berekenTotaalKolom(e.ColumnIndex);
        }

        private void berekenTotaalRij(int rij)
        {

            int tot = 0;
            try
            {
                for (int j = STARTKOLOM; j < STARTKOLOM + 30; j++)
                {
                    if (turboLeerlingBoekDataGridView.Columns[j].Visible)
                    {
                        if (!turboLeerlingBoekDataGridView.Rows[rij].Cells[j].ReadOnly)
                        {
                            if (turboLeerlingBoekDataGridView.Rows[rij].Cells[j].Value.ToString().ToUpper().Equals("TRUE"))
                                tot++;

                        }
                    }
                }
                turboLeerlingBoekDataGridView.Rows[rij].Cells["dgvTotaal"].Value = tot.ToString();
            }

            catch (Exception) { ;}
        }

        private void berekenTotaalKolom(int kol)
        {

            int tot = 0;
            try
            {
                for (int j = 0; j < dtBoeken.Rows.Count; j++)
                {
                    if (turboLeerlingBoekDataGridView.Columns[kol].Visible)
                    {
                        if (!turboLeerlingBoekDataGridView.Rows[j].Cells[kol].ReadOnly)
                        {
                            if (turboLeerlingBoekDataGridView.Rows[j].Cells[kol].Value.ToString().ToUpper().Equals("TRUE"))
                                tot++;

                        }
                    }
                }
                turboLeerlingBoekDataGridView.Columns[kol].HeaderText = MijnLib.Verticaal(titels[kol - STARTKOLOM].ToUpper()) + "___" +Environment.NewLine+ tot.ToString()+Environment.NewLine+" ";
            }

            catch (Exception ex) { }
        }
        
        private void turboLeerlingBoekDataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            turboLeerlingBoekDataGridView.EndEdit();
            berekenTotaalRij(e.RowIndex);
        }
    
        private void turboLeerlingBoekDataGridView_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {            
            geselecteerdLeerling = e.ColumnIndex;
            btnAllesAanLeerling_Click(null, null);
        }

        private void turboLeerlingBoekDataGridView_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            //Text = "DOUBLE "+turboLeerlingBoekDataGridView.Location.Y+" "+turboLeerlingBoekDataGridView.ColumnHeadersHeight+" "+e.Y;
            if (turboLeerlingBoekDataGridView.CurrentCell.ColumnIndex < STARTKOLOM && turboLeerlingBoekDataGridView.CurrentCell.RowIndex >= 0)
            {
                if (e.Y > turboLeerlingBoekDataGridView.Location.Y + turboLeerlingBoekDataGridView.ColumnHeadersHeight)
                // nodig om te controleren of we klikken ONDER de kolom headers 
                // als we deze if weglaten zal bij dubbelklik in de headers ook de actieve boekenrij aangevinkt worden
                {
                    geselecteerdBoek = turboLeerlingBoekDataGridView.CurrentCell.RowIndex;
                    btnAllesAanBoek_Click(null, null);
                }
            }
        }

        private void turboLeerlingBoekDataGridView_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            geselecteerdLeerling = e.ColumnIndex;
            if (geselecteerdLeerling < STARTKOLOM) geselecteerdLeerling = -1;
            if (geselecteerdLeerling >= 0)
            {
                btnAllesAanLeerling.Enabled = true;
                btnAllesUitLeerling.Enabled = true;
                btnAllesAanLeerling.Text = "Alles aanvinken voor " + dtLeerlingen.Rows[geselecteerdLeerling - STARTKOLOM]["naam"];
                btnAllesUitLeerling.Text = "Alles uitvinken voor " + dtLeerlingen.Rows[geselecteerdLeerling - STARTKOLOM]["naam"];
            }
            else
            {
                btnAllesAanLeerling.Enabled = false;
                btnAllesUitLeerling.Enabled = false;
            }
        }

        private void turboLeerlingBoekDataGridView_Click(object sender, EventArgs e)
        {
            if (turboLeerlingBoekDataGridView.CurrentCell.ColumnIndex < STARTKOLOM && turboLeerlingBoekDataGridView.CurrentCell.RowIndex >= 0)
            {
                geselecteerdBoek = turboLeerlingBoekDataGridView.CurrentCell.RowIndex;
                if (dtBoeken.Rows.Count > 0)
                {
                    btnAllesAanBoek.Enabled = true;
                    btnAllesUitBoek.Enabled = true;
                    btnAllesAanBoek.Text = "Alles aanvinken voor " + dtBoeken.Rows[geselecteerdBoek]["titel"];
                    btnAllesUitBoek.Text = "Alles uitvinken voor " + dtBoeken.Rows[geselecteerdBoek]["titel"];
                }
                else
                {
                    btnAllesAanBoek.Enabled = false;
                    btnAllesUitBoek.Enabled = false;
                }
            }
        }

              
    }
}